package com.jiayang.hhotel.presenter;

import com.jiayang.hhotel.R;
import com.jiayang.hhotel.bean.Constant;
import com.jiayang.hhotel.bean.InfoModel;
import com.jiayang.hhotel.net.Api;
import com.jiayang.hhotel.ui.CertificationActivity;
import com.jiayang.hhotel.util.LogUtil;
import com.jiayang.hhotel.util.ToastUtil;

import java.util.Date;

import cn.droidlover.xdroidmvp.mvp.XPresent;
import cn.droidlover.xdroidmvp.net.ApiSubscriber;
import cn.droidlover.xdroidmvp.net.NetError;
import cn.droidlover.xdroidmvp.net.XApi;

/**
 * Created by Administrator on 2017/6/5 0005.
 * 实名认证页面逻辑类
 */

public class CertificationPresenter extends XPresent<CertificationActivity> {

    /**
     * 注册
     * @param mpAcct 账户
     * @param mpOperation --1新建、2修改
     * @param mpClerkAcct 个人信息帐号（新建时候是-1）
     * @param mpChnName 中文名字
     * @param MpEngFirstName 英文名字
     * @param mpEngSurName 英文姓氏
     * @param mpSex 性别：男：0（默认）女：1
     * @param mpAddr1 身份证地址
     * @param mpPhone 手机号
     * @param mpPassType 证件类型：身份证：1；港澳通行证：3；台证：4；护照：直接获取
     * @param mpPassprt 身份证号
     * @param mpPassExp 证件的终止日期（身份证长期返回null）
     * @param mpBirthDate 出生日期
     * @param mpFolk 民族
     * @param mpNationCode 国籍
     * @param mpPhotoPath 图片路径
     * @param mPassword 密码
     * @param mpRelationShip 社会关系类型（如：同事，父母，默认0）
     */

    public void loadData(long mpAcct, int mpLanguage, int mpOperation, int mpClerkAcct, String mpChnName,
                         String MpEngFirstName, String mpEngSurName, int mpSex, String mpAddr1,
                         String mpPhone, String mpPassType, String mpPassprt, String mpPassExp, String mpBirthDate,
                         String mpFolk, String mpNationCode, String mpPhotoPath,
                         String mPassword, int mpRelationShip) {
        Api.getUserService().register(mpAcct,mpLanguage,mpOperation,mpClerkAcct,mpChnName,MpEngFirstName
                ,mpEngSurName,mpSex,mpAddr1,mpPhone,mpPassType,mpPassprt,mpPassExp,mpBirthDate,mpFolk,
                mpNationCode,mpPhotoPath,mPassword,mpRelationShip)
                .compose(XApi.<InfoModel>getApiTransformer())
                .compose(XApi.<InfoModel>getScheduler())
                .compose(getV().<InfoModel>bindToLifecycle())
                .subscribe(new ApiSubscriber<InfoModel>() {
                    @Override
                    protected void onFail(NetError error) {
                        ToastUtil.Toast(getV().getString(R.string.net_error),getV());
                    }

                    @Override
                    public void onNext(InfoModel Results) {
                        LogUtil.showLog("注册="+Results.toString());
                        ToastUtil.Toast(Results.getInfo(),getV());
                        switch (Results.getState()){
                            case 9://注册成功
                                getV().registerSuccess();
                                break;
                            case -1://失败

                                break;
                        }
                    }
                });
    }

    /**
     * 申请权限
     */
    public void applyJurisdiction(){
        Api.getUserService().applyJurusdiction(Constant.PHONE,Constant.LAUGUAGE_FLAG_CHINESE,1111)
                .compose(XApi.<InfoModel>getApiTransformer())
                .compose(XApi.<InfoModel>getScheduler())
                .compose(getV().<InfoModel>bindToLifecycle())
                .subscribe(new ApiSubscriber<InfoModel>() {
                    @Override
                    protected void onFail(NetError error) {
                        ToastUtil.Toast(getV().getString(R.string.net_error),getV());
                    }

                    @Override
                    public void onNext(InfoModel Results) {
                        switch (Results.getState()){
                            case 9://请求成功
                                ToastUtil.Toast(Results.getInfo(),getV());
                                getV().applySuccess();
                                break;
                            case -1://失败
                                break;
                        }
                    }
                });
    }
}
